package com.telerik.metadata; import java.io.File; import java.io.FileOutputStream; import java.security.InvalidParameterException; public class Generator { /** * @param args */ public static void main(String[] args) throws Exception { String outName = "bin"; String[] params = null; if (args != null && args.length > 0) { outName = args[0]; File out = new File(outName); if (!out.exists()) { out.mkdir(); System.out .println(String .format("We didn't find the folder you specified ( %s ), so it's going to be created!", out.getAbsolutePath())); } } else { throw new InvalidParameterException( "You need to pass an output directory!"); } if (args != null && args.length > 1) { params = new String[args.length - 1]; for (int i = 1; i < args.length; i++) { params[i - 1] = args[i]; } } if (params == null) { throw new InvalidParameterException( "You need to pass a list of jar paths, so metadata can be generated for them!"); } TreeNode root = Builder.build(params); FileOutputStream ovs = new FileOutputStream(new File(outName, "treeValueStream.dat")); FileStreamWriter outValueStream = new FileStreamWriter(ovs); FileOutputStream ons = new FileOutputStream(new File(outName, "treeNodeStream.dat")); FileStreamWriter outNodeStream = new FileStreamWriter(ons); FileOutputStream oss = new FileOutputStream(new File(outName, "treeStringsStream.dat")); FileStreamWriter outStringsStream = new FileStreamWriter(oss); new Writer(outNodeStream, outValueStream, outStringsStream) .writeTree(root); } }